草庐IT

Java Annotations - 寻找 RetentionPolicy.CLASS 的示例

全部标签

java - 如何以编程方式生成 .class 文件?

我想为Java的玩具语言编写一个编译器。我想生成可运行的.class文件。我想知道可用于执行此操作的最佳库或工具是什么?我知道我可以学习所有指令的二进制格式并构建我自己的常量池等,但这似乎是应该已经完成​​的工作:没有必要重新发明轮子,对吧?在线搜索我发现了两种不同的Java汇编语言,Jasmin和Jamaica,然而只有Jasmin看起来有些保养。是否有用于将字节码写入流的Java库?这是什么ApacheBCEL是吗?他们的工具是否是字节码生成的“标准”,就像Antlr用于解析一样?PS-玩具语言是Brainf***,我想要一些我可以有一个简单的“语法”的东西,这样我就可以专注于生成

java - 如何防止 JAXB 在编码时绑定(bind) @XmlRootElement 的父类(super class)方法?

我有一个注释为@XmlRootElement和@XmlAccessorType(XmlAccessType.NONE)的类。我遇到的问题是父类(superclass)的方法被绑定(bind),而我不希望它们被绑定(bind),并且无法更新类。我希望有一个注释可以放在根元素类上以防止这种情况发生。例子:@XmlRootElement@XmlAccessorType(XmlAccessType.NONE)publicclassPersonextendsNamedObject{@XmlElementpublicStringgetId(){...}}我希望只有在Person上注释为@XmlEl

java - 使用 java.io 寻找 ByteArrayInputStream

如何查找(更改位置)ByteArrayInputStream(java.io)?这是很明显的事情,但我似乎无法在任何地方找到这个方法(mark/reset是不够的,我需要将位置设置到任何地方InputStream).如果使用java.io无法完成,我必须切换到java.nio并使用ByteBuffer,如何才能我得到类似于DataOutputStream使用java.nio包装ByteArrayOutputStream的东西?我没有找到任何类型的可自动调整大小的缓冲区。编辑:我找到了一种方法来实现我想要做的事情,但它有点困惑。ImageIO.createImageInputStream

java - 使用 Class<?> 作为键创建 ImmutableMap 的问题

我正在尝试创建一个ImmutableMap将类映射到字符串(注意:这当然只是一个例子!)。然而,像ImmutableMap,String>map=ImmutableMap.of(Integer.class,"Integer",Date.class,"Date");给我以下错误Typemismatch:cannotconvertfromImmutableMap&Serializable>,String>toImmutableMap,String>奇怪的是,如果我向Class添加强制转换,它确实有效任何(!)键,即ImmutableMap,String>map=ImmutableMap.o

java - 是否有用于 aws cognito API 的 JWT 验证的 java 示例?

我正在使用awscognito用户池,用户登录后,我在我的单页应用程序中获得了一个idtoken,这是预期的,然后对于每个请求,我需要在我的后端restAPI中验证idtoken,这在java中,awsdoc没有过多提及如何做。有没有例子?混淆包括:idtoken似乎不仅仅是一个签名的JWT,它也是加密的,当使用nimbus库时,我需要为加密的JWT指定一个secret,我在哪里可以得到这个secret?我的理解是这应该来自aws,我需要下载一些东西然后放入我的jvmkeystore吗?有一个知名的jwts.json可以从aws上下载,它长这样:`{"keys":[{"alg":"RS

java - 带有 JSP 示例的简单 AJAX

我正在尝试使用JSP学习AJAX,并且编写了以下代码。这似乎不起作用。请帮助:这是我的configuration_page.jspJSPPagefunctionloadXMLDoc(){varxmlhttp;varconfig=document.getElementById('configselect').value;varurl="get_configuration.jsp";if(window.XMLHttpRequest){xmlhttp=newXMLHttpRequest();}else{xmlhttp=newActiveXObject("Microsoft.XMLHTTP")

java - JVM 是如何开始寻找类的?

我很好奇JVM寻找执行程序的所有位置?我更感兴趣的是了解JVM以什么顺序和在哪里查找类文件,比如它是否查看java库、扩展库、类路径任何目录,比如调用java的当前目录?我对JVM行为更感兴趣,而不是类加载器如何加载类,我知道类加载器在根之前具有父委派机制。如果一个类是从编译后的类保存在文件系统上的目录中执行的,并且还在同一目录中的jar文件中执行,JVM会同时加载还是只加载一个?假设您有一个线程不安全的Vector,如果我们将它的性能与ArrayList进行比较,哪个更好,为什么? 最佳答案 如何找到类。答案在这里:http://

java - 为什么 ArrayList.contains(Object.class) 不能用于查找实例类型?

假设我有一个ArrayList,其中填充了不同类型的对象...ArrayListshelf=newArrayList();Appleapple=newApple();Orangeorange=newOrange();Pearpear=newPear();shelf.add(apple);shelf.add(orange);shelf.add(pear);我想知道shelf是否包含一个Orange对象。我试过了shelf.contains(Orange.class)但这不会返回true。我的理解是contains使用equals方法进行对象比较,所以我不确定为什么会这样。我知道我可以简单

Java 泛型 - Class 或 Class<?扩展某些类>

我正在编写一个程序,它将使用Java反射(即Class.forName())根据用户的输入动态创建类实例。一个要求是我的程序创建的实例必须扩展我定义的一个特定类,称为SomeClass.我的问题是:为了存储此类类型,我应该使用有界泛型Class,或简单地无限泛型,Class?我发现一些Java书籍说Class是使用无界通配符泛型的良好实践之一,但我想知道这是否适用于我程序中的情况。如果您发现我的问题不够清楚或需要一些信息,请随时告诉我。 最佳答案 你应该使用Class因为这就是泛型的用途。在您调用Class.forName时,检查它

java - 无法理解 Java 规范中的 volatile 示例

我大致了解了volatile在Java中的含义。但读书JavaSESpecification8.3.1.4我无法理解该特定示例下方的文字。classTest{staticvolatileinti=0,j=0;staticvoidone(){i++;j++;}staticvoidtwo(){System.out.println("i="+i+"j="+j);}}Thisallowsmethodoneandmethodtwotobeexecutedconcurrently,butguaranteesthataccessestothesharedvaluesforiandjoccurexac